package practice_2025_8_26;

import java.util.LinkedHashMap;
import java.util.Map;

class LRUCache extends LinkedHashMap<Integer, Integer> {
    private int capacity;
    public LRUCache(int capacity) {
        super(capacity, 0.75F, true);
        this.capacity = capacity;
    }
    // 若关键字 key 在缓存中，返回关键字值，否则返回－1
    public int get(int key) {
        return super.getOrDefault(key, -1);
    }
    // 若关键字 key 存在，变更；若不存在，插入，超过容量，删除最久未使用
    public void put(int key, int value) {
        super.put(key, value);
    }
    // 移除最久未使用
    @Override
    protected boolean removeEldestEntry(Map.Entry<Integer, Integer> eldest) {
        return size() > capacity; 
    }
}